import sys
import re
# 统计字符数
def count_characters(text):
    return len(text)
# 统计单词数
def count_words(text):
    words = re.findall(r'\b[a-zA-Z]+\b', text)
    return len(words)
# 统计句子数
def count_sentences(text):
    sentences = re.split(r'[.!?]+', text)
    sentences = [s.strip() for s in sentences if s.strip()]
    return len(sentences)
# 主函数
def main():
    # 检查参数数量
    if len(sys.argv) != 3:
        print("输入格式有误！")
        print("使用方法: python wc.py [参数] [文件名]")
        print("参数:")
        print("  -c  统计字符数")
        print("  -w  统计单词数")
        print("  -s  统计句子数")
        print("按回车键退出...")
        input()
        return   
    param = sys.argv[1]
    filename = sys.argv[2]  
    try:
        # 读取文件
        with open(filename, 'r', encoding='utf-8') as file:
            text = file.read()
        if param == '-c':
            count = count_characters(text)
            print(f"文件 {filename} 的字符数: {count}")
        elif param == '-w':
            count = count_words(text)
            print(f"文件 {filename} 的单词数: {count}")
        elif param == '-s':
            count = count_sentences(text)
            print(f"文件 {filename} 的句子数: {count}")
        else:
            print("错误: 无效参数")
            print("可用参数: -c, -w, -s")
        print("按回车键退出...")
        input()   
    except FileNotFoundError:
        print(f"错误: 找不到文件 '{filename}'")
        print("按回车键退出...")
        input()
    except Exception as e:
        print(f"错误: {e}")
        print("按回车键退出...")
        input()
# 程序入口
if __name__ == "__main__":
    main()